This invention relates generally to printing systems and more particularly concerns the transmission of page information from a host computer to a page printer for printing.
In a typical host computer and page printer arrangement, a page to be printed is described in a high level page description language and transmitted from a host computer to a page printer which includes a printer controller and a print engine. The printer controller interprets and processes the high level language commands to create a rasterized page made up of page data for printing. The rasterization can be of a full page or a part of a page, with subsequent parts of the page being rasterized later. The rasterized page data is then serialized to the print engine to effect the printing onto a print medium such as paper.
Usually, a microprocessor in the printer controller executes associated interpreter software for interpreting the high level page description language commands and also calls upon resources stored in the printer (at least temporarily) such as fonts for rendering characters in the rasterized page data.
The pages to be printed are created in application programs run on the host computer, such as drawing programs and word processing programs. Printer drivers are provided for each application to produce descriptions of pages to be printed in high level page description languages such as Hewlett-Packard Company's PCL language or Adobe Systems' PostScript language. Becoming prevalent today are operating environment programs such as the IBM OS/2 operating environment and the Microsoft Windows operating environment, which provide an intermediate interface with application software. These programs produce a graphical device interface for viewing or printing pages produced by the applications. In this way, only a single driver for each high level page description language, suitable to communicate with the graphical device interface of the operating environment, need be provided regardless of the number of application programs.
It is a general objective of the present invention to improve the speed of printing a page from the time it is selected for printing at the host computer to the time that the print engine actually produces the printed page.
One previous attempt to do this was to provide, at the host computer, additional hardware (in the form of a circuit card) and software to rasterize the page to be printed at the host computer rather than at the printer. The additional hardware is then capable of operating through a dedicated connection to the print engine to directly drive printing of the page. In the case of a laser printer, for example, the printer's laser is directly driven from the additional hardware at the host computer. This solution has the drawback of adding considerable expense to the computer/printer system.
In accordance with the invention, we provide a high speed printing system which does not require special host computer hardware nor a direct connection from such special host computer hardware to the print engine. We provide, for printing systems of the foregoing type (employing a host computer, a printer controller, and a print engine), a printing system which can operate in a normal mode where a high level page description language is used to convey page information from the host computer to the printer controller. The inventive system further permits rasterization at the host computer of a page to be printed and the downloading of rasterized page data to the printer controller in a form such that the data can be directly serialized to the print engine.
Advantageously, a microprocessor in the host computer, which may operate considerably faster than a microprocessor in the printer controller, can perform the rasterization of the page by drawing on resources such as font data available at the host computer, without the need to download some or all of such resources to the printer in order for them to be available during rasterization. Also, the inventive technique minimizes the number of conversions of data required in moving from the step of selecting printing of a page at the host computer to the production of the printed page at the print engine.
In practicing the invention, advantages can also be gained from compression of the rasterized page data sent from the host computer to the printer controller, with the page data being decompressed "on the fly" during serialization to the print engine.
Further advantages of the invention will become apparent upon reading the following detailed description and upon reference to the drawings.